home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / comm / bbs / s342q16.lha / citamap.h < prev    next >
C/C++ Source or Header  |  1996-08-29  |  3KB  |  111 lines

  1. /*
  2.  *                CitaMap.h
  3.  *
  4.  * Header file for RoutMail.C, the C86Net map eater program.
  5.  */
  6.  
  7. /*
  8.  *                History
  9.  *
  10.  * 89Jan?? HAW  Initial creation finished, V1.
  11.  */
  12.  
  13. #define R_TITLE "Routmail V2.2\n%s\n", COPYRIGHT
  14.  
  15. typedef struct peon PEONS;
  16. typedef struct o_hub LINKS;
  17. typedef struct hub HUB;
  18.  
  19. struct peon {
  20.     label Name, Id;
  21.     int   baud;
  22.     PEONS *next;
  23. };
  24.  
  25. struct o_hub {
  26.     HUB *Hub;
  27.     struct o_hub *next;
  28. } ;
  29.  
  30. struct hub {
  31.     label    Name, Id;
  32.     int        baud;
  33.     char    Checked;
  34.     struct hub    *next;
  35.     PEONS    *list;
  36.     LINKS    *Hubs;
  37. };
  38.  
  39. typedef struct {
  40.     char *Area;
  41.     SListBase Systems;
  42. } Hop;
  43.  
  44. typedef struct {
  45.     char *Id;
  46.     char *RouteId;
  47.     int  hopcount;
  48. } HopNode;
  49.  
  50. extern char *READ_ANY, *WRITE_ANY;
  51. void *CheckArea();
  52.  
  53. #ifdef ANSI_PROTOTYPING
  54.  
  55. HUB *FindHub(HUB *base, label id);
  56. HUB *MakeMap(char *fn);
  57.  
  58. char ChangeRouting(int target);
  59. char DirectRoute(NetBuffer *n);
  60. char *GetLine(char *line, int s, FILE *fd);
  61. char ParseCh(label OldId, label NewId, label Name, int *baud, char *line);
  62. char Parse(label Id, label Name, int *baud, char *line);
  63. char ProcChanges(FILE *fd);
  64. char ProcessDead(FILE *fd);
  65. char ReadArguments(int argc, char **argv, char *filename);
  66. char IsLowerHopCount(char *TargetId, int HopCount);
  67. char ReadHubs(HUB *base, FILE *fd);
  68. char ReDoRouted(int target);
  69. char ReRoute(int target);
  70. char SetUpHub(HUB *Hr);
  71.  
  72. PEONS *FindPeon(PEONS *base, label id);
  73.  
  74. void *HopSearch();
  75. void SetHopCount(char *Id, int count, char *RouteId);
  76. void AddNewNode(label Name, label Id, int baud);
  77. void BackToDirect(int i, NetBuffer *n);
  78. void AreaCode(char *Id, char *Target);
  79. void AddNewHop(char *Id);
  80. void CheckAccessible(HUB *HomeHub, HUB *CurHub, PEONS *Kr, int hopcount);
  81. void CoverRouteHole(int system, int start);
  82. void DoReRoute(int target);
  83. void HubHub(HUB *Us, HUB *Hub);
  84. void InitSystem(void);
  85. void KillMapNodes();
  86. void NormStr(label Id);
  87. void PrintRouteIds(void);
  88. void ReDoAuxFiles(label newid);
  89. void KillAuxFiles(void);
  90. void HandleDomains(void);
  91. void RouteLocalMail(int target);
  92. void SetHub(HUB *CurHub, HUB *HomeHub, int HopCount);
  93. void SetPeon(PEONS *Peon, HUB *HomeHub, int HopCount);
  94. void SetNode(label TargetName, label TargetId, int TargetBaud, label RouteId,
  95.                         int HopCount, char CheckHops);
  96. void ShowArguments(void);
  97. void DoEdit(void);
  98. void WeAreHub(HUB *Us, HUB *Systems);
  99. void WeArePeon(HUB *Systems);
  100.  
  101. int  FindRouteName(int slot, SYS_FILE newfn);
  102. int  GetNewSlot(NetBuffer *n);
  103. int  IdRouteFile(SYS_FILE fn, label Id, label Name);
  104. int  putRouteChar(int c);
  105.  
  106. PEONS *FindGlobalPeon(HUB *base, char *id);
  107.  
  108. HopNode *GetHopNode(char *Id);
  109.  
  110. #endif
  111.